//package com.example.springboot_jdk8.config;
//
//
//import javax.servlet.ServletRequest;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpSession;
//import javax.websocket.EndpointConfig;
//import javax.websocket.OnClose;
//import javax.websocket.OnOpen;
//import javax.websocket.Session;
//import javax.websocket.server.ServerEndpoint;
//import javax.xml.ws.handler.MessageContext;
//
////@Component
//@ServerEndpoint(value = "/websocket/testConnection",configurator = HttpSessionConfigurator.class)
//public class WebSocket {
//
//    @OnOpen
//    public void onOpen(Session session, EndpointConfig config) {
//        try {
//            // 获取WebSocket握手请求 并获取ip
//            HttpSession httpSession = (HttpSession) config.getUserProperties().get(HttpSession.class.getName());
//            String ip = (String) httpSession.getAttribute("user_ip");
//            System.out.println("【WebSocket消息】有新的连接");
//            session.getAsyncRemote().sendText(ip);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//
//    @OnClose
//    public void onClose(Session session) {
//        try {
//            System.out.println("【WebSocket消息】连接断开");
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//    private String getClientIpAddress(Session session) {
//        String ipAddress = null;
//        MessageContext messageContext = (MessageContext) session.getUserProperties().get("javax.websocket.server.ServerEndpointConfig.MESSAGE_CONTEXT");
//        if (messageContext != null) {
//            HttpServletRequest request = (HttpServletRequest) messageContext.get(ServletRequest.class.getName());
//            if (request != null) {
//                ipAddress = request.getRemoteAddr();
//            }
//        }
//        return ipAddress;
//    }
//
//
//}
